﻿using System;
using System.Collections.Generic;
using DistributedVisionRunner.Interface.Model;

namespace DistributedVisionRunner.Interface.Client
{
    public interface IVisionClient
    {
        DistributedVisionRunnerResultPack RequestProcess(string inputSn, string productType, int cavity, byte[] data,
            DateTime? creationTime, int? timeout = null);

        Dictionary<OutputDataType, List<BoundaryItem>> GetBoundaryItems(int? timeout = null);

        event Action<Dictionary<OutputDataType, List<BoundaryItem>>> BoundaryItemsChanged;
    }
}